//
//  CQCommon.h
//  CQUtils
//
//  Created by Martin on 16/5/17.
//  Copyright © 2016年 com.runo. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "AFNetworking.h"

typedef void(^CQNetStatusListener)(NSString *status);

//通用方法
@interface CQCommon : NSObject

/**
 *  横向震动一个View
 *
 *  @param time      次数
 *  @param delta     震动距离
 *  @param interval  震动时间
 *  @param current   当前震动次数  方便递归
 *  @param direction 震动距离
 *  @param view      震动的view
 *  @param shake     手机是否震动
 */
+ (void)cqShake:(int)time withDelta:(CGFloat)delta addSpeed:(NSTimeInterval)interval withCurrent:(NSInteger)current withDirection:(int)direction withTarget:(UIView*)view isShake:(BOOL)shake;

/**
 *  默认震动一个view
 *
 *  @param view 要震动的view
 */
+(void)cqShakeView:(UIView *)view;

/**
 *  判断网络状态
 *
 *  @return 是否有网络
 */
+(BOOL)cqIsConnectNetwork;

/**
 *  监听网络状态
 *
 *  @param listener 网络状态改变
 */
+(void)cqNetworkStatusListener:(CQNetStatusListener )listener;

/**
 *  显示警告框
 *
 *  @param message 警告信息
 */
+(void)cqShowWarningAlert:(NSString *)message;

/**
 *  显示提示框
 */
+(void)cqShowTipsAlert:(NSString *)message;

/**显示是否选择提示框*/
+(void)cqShowYesOrNoAlert:(UIViewController *)vc Title:(NSString *)title Message:(NSString *)message Yes:(void(^)(void))yesBlock No:(void(^)(void))noBlock;

/**
 *  //写信息到指定文件名的文件中
 */
 +(void)shareWriteFile:(NSString *)message Filename:(NSString*)name;
/**显示隐藏statusBar*/
+ (void)cqSetStatusBarHidden:(BOOL)isHide;
/**statusBar黑色*/
+ (void)cqSetStatusBarStyleDefault;
/**statusBar白色*/
+ (void)cqSetStatusBarStyleLightContent;

/**获取文件library文件目录*/
+(NSString *)cqGetLibraryPath;
/**获取保存数据库的路径*/
+(NSString *)cqGetCQCacheDirectoryPath;
/**获取数据库文件路径*/
+(NSString *)cqGetDBPath;

/**创建文件夹*/
+(BOOL)cqCreateDirectory:(NSString *)directoryPath;
/**创建文件*/
+(BOOL)cqCreateFile:(NSString *)filePath;

/**hex颜色转化成UIcolor*/
+(UIColor *)cqColorForHexString:(NSString *)hexStr;
+(UIColor *)cqColorForHexString:(NSString *)hexStr Alpha:(CGFloat)alpha;

/**序列化金钱字符串*/
+(NSString *)cqGetSerialNumberString:(NSString *)numberStr;

@end
